(define n (lambda (k) 1.0))

(define d (lambda (k) 
            (cond ((= (remainder k 3) 2) (/ (+ 1 k) 1.5))
                  (else 1))))

;递归过程
(define (cont-frac n d k)
  (define (cont-frac-iter index)
    (cond ((< index k) (/ (n index) (+ (d index) (cont-frac-iter (+ index 1)))))
          (else (d k))))
  (cont-frac-iter 1))

;迭代过程
(define (cont-frac n d k)
  (define (cont-frac-iter index result)
    (cond ((< index 1) result)
          (else (cont-frac-iter (- index 1) (/ (n index) (+ (d index) result)) )))) 
  (cont-frac-iter (- k 1) (d k))) 
